package com.hongawen.channel;

import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

import static com.hongawen.channel.utils.ByteBufferUtil.*;

/**
 * @author hongawen
 * @version 1.0
 * @data 2025/4/22 15:55
 */
public class StringToBuffer {

    /**
     * 简介：字符串转字节数组
     */
    public static void main(String[] args) {
        // 1. 直接写入
        String str = "abcdefg";
        ByteBuffer buffer = ByteBuffer.allocate(10);
        buffer.put(str.getBytes());
        debugAll(buffer);

        // 2. 根据编码写入,直接切换到读模式了
        ByteBuffer encode = Charset.defaultCharset().encode(str);
        debugAll(encode);

        // 3. 根据编码和字符写入,直接切换到读模式了
        ByteBuffer encode2 = StandardCharsets.UTF_8.encode(str);
        ByteBuffer encode1 = Charset.forName("UTF-8").encode("你好");
        debugAll(encode1);

        // 4. 直接写入,直接切换到读模式了
        ByteBuffer wrap = ByteBuffer.wrap(str.getBytes());
        debugAll(wrap);
        String string = Charset.forName("UTF-8").decode(wrap).toString();
        System.out.println(string);

    }
}
